【问题标题】:Getting formatted and sorted data from SQL从 SQL 获取格式化和排序的数据
【发布时间】:2014-06-10 21:19:36
【问题描述】:

我想从 SQL 中获取图表数据。我不想在 PHP 中获取所有数据和排序,而是想使用 SQL 来解决这个问题。

日期应按天分组,平台应统计并排序为ios和android。

奖励:如果您可以按所有值而不是给定值对平台进行排序,那就更好了。

以下是 SQL 中显示的数据:

date                |platform
--------------------+----------
2014-04-22 11:15:55 |ios
2014-04-22 12:15:55 |android
2014-04-22 13:15:55 |ios
2014-04-23 11:15:55 |ios
2014-04-23 12:15:55 |android
2014-04-23 13:15:55 |android

期望的输出:

date        |ios    |android
------------+-------+-----
2014-04-22  |2      |1
2014-04-23  |1      |2

【问题讨论】:

标签: mysql sql sorting group-by


【解决方案1】:
SELECT `date`,
       sum(`ios`) AS `ios`,
       sum(`android`) AS `android`
FROM
  (SELECT DATE(`date`) AS `date`,
          CASE
              WHEN `platform`='ios' THEN 1
              ELSE 0
          END AS `ios`,
          CASE
              WHEN `platform`='android' THEN 1
              ELSE 0
          END AS `android`
   FROM demo) t
GROUP BY `date`

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 2022-07-13
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2020-07-13
    相关资源
    最近更新 更多