0

首先,对不起我的英语,我会尽量以最好的方式解释。

有没有办法按nvarcharSQL Server 2008 中的类型列分组?

我会更好地解释它:(至少我尝试)

如果我有这样的表:

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 链接,可以通过查询来完成吗?

我不想使用存储过程。

4

2 回答 2

2

要获得随机链接,您可以使用以下内容:

SELECT TOP (1) WebSiteLink
FROM YourTable
ORDER BY NEWID();

WHERE如果您对随机 img 链接有更具体的需求,您可以添加一个子句。

于 2012-11-02T20:41:07.840 回答
1

My need is to get a random img link:

For example, if you need a random image for each code, e.g. GROUP BY code, you can use this query:

  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

Or the windowing function. Here is "groups by" City, Code and shows one random 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-02T20:43:10.200 回答