如何在sql中根据日期获取数据
Posted
技术标签:
【中文标题】如何在sql中根据日期获取数据【英文标题】:How to fetch data according to date in sql 【发布时间】:2014-10-05 10:00:42 【问题描述】:我有一张表 truck_data
与列 truck_no, diesel_filled, source, destination, amount
等
我只想获取truck_no
和diesel_filled
,这样它将显示整个月内每辆卡车中diesel_filled
的详细信息..
请告诉我相关的 SQL 查询 - 我已经尝试过这个查询,但它不起作用
SELECT
truck_no, diesel_filled, date
FROM
truck-data
ORDER BY
date
请帮帮我
提前致谢
我想要这样的输出
truck_no 1 2 3 4 5 6 7 8 9 etc(date from 1 to 31))
---------------------------------------------------------------------------
xyz 25 22 33 33 22 22 22 0 0 (diesel filled in truck order by date)
pqr 25 25 22 11 22 00 22 55 22
abc 21 15 12 14 13 00 22 00 00
【问题讨论】:
用一些示例数据创建一个小提琴,这真的不清楚。 sqlfiddle.com 先生,请检查一下现在是crt吗? 【参考方案1】:目前还不清楚你想要什么。但我认为您正在混合演示文稿和数据
SELECT truck_no,diesel_filled,date
FROM truck-data
ORDER BY date
将为您提供按日期排序的所有行。大概你想要一些过滤器只显示一个特定的月份。
SELECT truck_no,diesel_filled,date
FROM truck-data
WHERE date >= 2014-10-05 AND date < 2014-11-01 ORDER BY date
获取今年 10 月的所有行。如果此处的日期是 DateTime 列。
然后你可以把它改成:
SELECT truck_no,sum(diesel_filled),Day(date)
FROM truck-data
WHERE date >= 2014-10-05 AND date < 2014-11-01
GROUP BY truck_no
ORDER BY date"
这将只给你每天一排和卡车。如果 disel_filled 是某种数值。
然后,您必须在您的 UI 中以您喜欢的任何方式进行演示。例如,在您上面描述的某种数据透视表中。 当然,您也可以在 SQL 中执行此操作,但通常这是表示层的工作。 如果你真的想用 SQL 做,你可以看看:http://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx 如果您使用的是 MsSql。
【讨论】:
以上是关于如何在sql中根据日期获取数据的主要内容,如果未能解决你的问题,请参考以下文章