【问题标题】:How to show data in a random order using SQL query如何使用 SQL 查询以随机顺序显示数据
【发布时间】:2013-03-07 08:03:35
【问题描述】:

这是绑定到我的 DataList 的 SQL 查询。你能告诉我如何以随机顺序返回数据吗?

SELECT
   CONVERT(varchar(6), a.lastdate, 6) as lastdate, * 
FROM
   alz_jobpost AS a 
INNER JOIN
   (SELECT * 
    FROM alzome_SuperAdmin AS b 
    INNER JOIN alzome_Renewal AS c ON b.S_id = c.supid 
    WHERE c.product = 'HI-TOUCH' AND c.Payed = 1) AS aa ON a.oid=aa.businessid 
WHERE
   a.status = 1 
   AND a.lastdate > GETDATE() 
ORDER BY 
   a.startdate DESC

【问题讨论】:

  • 抱歉,我不确定您要达到的目标。您是否希望此查询仅返回随机结果?还是您希望它以随机顺序排列?
  • 数据的随机顺序与 startdate 也由 dsc 排序
  • 对不起,我还不清楚。你想要它以随机顺序吗?但是您说要按 StartDate 订购?不能同时随机和有序。
  • 我的表中有 n 条记录...现在它一一显示,因为它们存在于表中...我想在每个页面加载中随机显示
  • 好的,开始日期没问题...给我随机显示的查询

标签: sql-server data-binding datalist


【解决方案1】:

要以随机顺序获取结果,您可以更改:

ORDER BY a.startdate DESC

类似于:

ORDER BY NEWID()

【讨论】:

  • 如果有 100 条记录,我可以按随机顺序获取所有记录吗?
  • 这应该以随机顺序提供所有结果。但它会增加性能。因此,如果它是一个包含数十万行的表,它可能会开始产生性能问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-23
  • 1970-01-01
  • 2019-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多