【问题标题】:How to fetch data from multiple tables using view in Mysql如何使用 Mysql 中的视图从多个表中获取数据
【发布时间】:2020-08-21 03:56:42
【问题描述】:

这是我的看法:

CREATE VIEW  Statistic as
SELECT
  (SELECT
     COUNT(0)
   FROM users) AS `tot_user`,
  (SELECT
     COUNT(0)
   FROM demands) AS `tot_demand`,
  (SELECT
     COUNT(0)
   FROM reports) AS `tot_report`,
  (SELECT
     COUNT(0)
   FROM users
   WHERE users.mobile_verified_at IS NULL) AS `user_inactive`,
  (SELECT
     COUNT(0)
   FROM reports
   WHERE reports.state =0) AS `report_inactive`,
  (SELECT
     COUNT(0)
   FROM demands
   WHERE demands.state = 1) AS `demand_inactive`,
  (SELECT COUNT(*) FROM replies LEFT JOIN demands ON demands.id=replies.id) AS `demand_replied`

我想在哪里获取数据 created_at( column ) 在 date1 和 date2 之间

这是我的表格结构:

**其他表格也是如此

例如:我想要获取在 2019-12-01 和 2020-01-01 之间创建的记录

请求(来自服务器的数据1和日期2)->发送->数据库|数据库 => 返回此视图

【问题讨论】:

  • '想要在 date1 和 date2 之间的 created_at(column) 处获取数据' - 语法差不多,你有什么问题?
  • 例如:我想获取在 2019-12-01 和 2020-01-01 之间创建的记录
  • 为每个单独的子查询添加适当的 WHERE。
  • "TSQL" 和 MySQL 指的是不同的数据库。我被标题弄糊涂了。该代码建议使用 MySQL。

标签: mysql sql laravel


【解决方案1】:

您想将时间戳与日期进行比较,因此请使用日期函数

where date(created_at) between '2019-12-01' and '2020-01-01'

并查看 mysql 日期函数。 https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html

【讨论】:

    猜你喜欢
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2012-05-27
    相关资源
    最近更新 更多