MySQL increment user variable when value changes(MySQL在值更改时增加用户变量)
问题描述
我有一个由多组组成的表格,例如每组五行.每个组中的每一行都拥有该组独有的 date
值.
I have a table consisting of groups of, for example, five rows each. Each row in each group possesses a date
value unique to that group.
我想在查询中做的是遍历表,并在此 date
值更改时增加用户变量 (@count).也就是说,@count 应该等于组数,而不是行数.
What I want to do in my query, is go through the table, and increment a user variable (@count) when this date
value changes. That's to say, @count should equal the group count, rather than the row count.
我当前的查询如下所示,以防您想知道:
My current query looks like this, in case you're wondering:
SELECT @row := @row +1 AS rownum, date
FROM ( SELECT @row := 0 ) r, stats
非常感谢.
推荐答案
这样的事情怎么样?
SELECT
(CASE WHEN @date <> date THEN @row := @row +1 ELSE @row END) AS rownum,
@date:= date,
date
FROM ( SELECT @row := 0, @date := NOW() ) r, stats
这篇关于MySQL在值更改时增加用户变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:MySQL在值更改时增加用户变量
基础教程推荐
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- Sql Server 字符串到日期的转换 2021-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01