首先,我为我的英语道歉,我会试着用最好的方式来解释。
在SQL Server2008中,有没有办法按nvarchar类型的列进行分组?
我将更好地解释它:(至少我尝试了)
如果我有一个这样的表:
ID Quantity City Code WebSiteLink
__ ________ ____ ____ __________
1 10 Milan R2 home/images/1.jpg
2 20 Milan R2 home/images/2.jpg
3 30 Rome R2 home/images/3.jpg
4 55 Rome R2 home/images/4.jpg
5 4 Naple R2 home/images/5.jpg
6 1 London R2 home/images/6.jpg
7 30 London R2 home/images/7.jpg
8 40 London R2 home/images/8.jpg我能够对除WebSitelink之外的所有列进行分组,因为它是一种nvarchar类型。
我的需求是获得一个随机的img链接,这可以通过查询来实现吗?
我不想使用存储过程。
发布于 2012-11-03 04:43:10
我需要的是获得一个随机的img链接:
例如,如果您需要每个代码的随机图像,例如GROUP BY code,您可以使用以下查询:
SELECT Code, (SELECT TOP(1) A.WebSiteLink
FROM tbl A
WHERE A.Code = B.Code
ORDER BY NEWID()) RandomWebSiteLink
FROM tbl B
GROUP BY Code或者窗口函数。这是"groups by“城市,代码和显示一个随机的WebSiteLink
SELECT City, Code, WebSiteLink
FROM
(
SELECT City, Code, WebSiteLink,
Row_Number() OVER (Partition by City, Code
Order by NewID()) RowNum
FROM tbl
) X
WHERE RowNum = 1;发布于 2012-11-03 04:41:08
要获得随机链接,您可以使用以下命令:
SELECT TOP (1) WebSiteLink
FROM YourTable
ORDER BY NEWID();如果你对你的随机img链接有更具体的需求,你可以添加一个WHERE子句。
https://stackoverflow.com/questions/13202691
复制相似问题