【问题标题】:How to fetch data according to date in sql如何在sql中根据日期获取数据
【发布时间】:2014-10-05 10:00:42
【问题描述】:

我有一张表 truck_data 与列 truck_no, diesel_filled, source, destination, amount

我只想获取truck_nodiesel_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吗?

标签: sql vb.net sql-server-2008


【解决方案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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 2020-09-30
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多