Mysql 如何根据时间戳查询每条记录的索引
我有一个订单表,我想索引每个公司的第一第二第三。。。等命令 表格示例:Mysql 如何根据时间戳查询每条记录的索引,mysql,sql,Mysql,Sql,我有一个订单表,我想索引每个公司的第一第二第三。。。等命令 表格示例: |---------------------|--------------------------| | company_id | created_at | |---------------------|--------------------------| | 1 | 2019-01-01 01:00:00 | |---------
|---------------------|--------------------------|
| company_id | created_at |
|---------------------|--------------------------|
| 1 | 2019-01-01 01:00:00 |
|---------------------|--------------------------|
| 1 | 2019-02-01 01:00:00 |
|---------------------|--------------------------|
| 2 | 2019-03-01 02:00:00 |
|---------------------|--------------------------|
| 3 | 2019-03-01 08:30:00 |
|---------------------|--------------------------|
| 2 | 2019-03-01 10:00:00 |
|---------------------|--------------------------|
我最后会这样问。但我不知道如何。。。。。我继续对字段进行计数和分组,但似乎无法根据时间戳得到每行的总和
|---------------------|--------------------------|-------|
| company_id | created_at |count()|
|---------------------|--------------------------|--------
| 1 | 2019-01-01 01:00:00 | 1 |
|---------------------|--------------------------|--------
| 1 | 2019-02-01 01:00:00 | 2 |
|---------------------|--------------------------|--------
| 2 | 2019-03-01 02:00:00 | 1 |
|---------------------|--------------------------|--------
| 3 | 2019-03-01 08:30:00 | 1 |
|---------------------|--------------------------|--------
| 2 | 2019-03-01 10:00:00 | 2 |
|---------------------|--------------------------|--------
我最终的解决方案如下,这似乎比上面的建议更简单
SELECT company_id
,(
SELECT count(*) + 1
FROM ORDERS AS orderCount
WHERE orderCount.company_id = orders.company_id
AND orderCount.created_at < orders.created_at
) AS order_count
FROM ORDERS
ORDER BY created_at
我最终的解决方案如下,这似乎比上面的建议更简单
SELECT company_id
,(
SELECT count(*) + 1
FROM ORDERS AS orderCount
WHERE orderCount.company_id = orders.company_id
AND orderCount.created_at < orders.created_at
) AS order_count
FROM ORDERS
ORDER BY created_at
@row_number实际如何工作的可能重复?我不熟悉在sqlNapmi中使用@:您正在初始化一个变量@row\u number,用0开始计算公司id。只需说:您对同一问题的答案查询将花费更多时间。我相信您在耗时部分的看法是正确的。随着我的订单表越来越大,我会被我的查询搞砸的。@row\u number实际上是如何工作的?我不熟悉在sqlNapmi中使用@:您正在初始化一个变量@row\u number,用0开始计算公司id。只需说:您对同一问题的答案查询将花费更多时间。我相信您在耗时部分的看法是正确的。随着我的订单表越来越大,我会被我的查询搞砸。