我的表有很多重复的条目,如果我不解决这个问题会不会很危险?我的表结构如下:
Music_id | Music_title | Music_author | Music_link
1 Look at me now Chris Brown
2 Look at me now Jay-z
Run Code Online (Sandbox Code Playgroud)
这只是一个例子,但那是我的表。看音乐标题。已经有重复的条目了。有时 music_title 会达到 10 个重复
所以我打算查一下音乐表
Music
id | music_title
1 Look at me now
My table
id | music | music_author | Music_link
1 1 chris brown
2 1 jay-z
Run Code Online (Sandbox Code Playgroud)
但我担心的是,音乐领域的 1 也是重复的。哪个更好?我糊涂了。
我有一张如下表:
Newid1 a b c
1 null 40 50
2 null 45 55
3 null 46 56
4 null 47 57
5 null 48 58
Run Code Online (Sandbox Code Playgroud)
现在我想通过将 C 列值更新到其中来更新列中的值(例如:50 到第二行,55 到第三行,56 到第四行......)。如何使用 WHILE 命令执行此操作。提前谢谢大家。
简单查询:
select sum(score) total,name,gender,dob,country
from users join scores on users.id = scores.user_id
where date between '2012-01-01' and '2012-01-31 23:59:59'
group by scores.user_id having sum(score)>=1000 order by sum(score) desc limit 50
Run Code Online (Sandbox Code Playgroud)
因此,尝试获取 2012 年 1 月的累积分数列表,按分数降序排列它们并对其进行分页。
无限制:缓慢但可以:搜索 69348 行。(很高兴弄清楚如何避免临时表,但我不能)。解释说:
1, 'SIMPLE', 'scores', 'range', 'user,date,user+date', 'date', '8', '', 69348, 'Using where; Using temporary; Using filesort'
1, 'SIMPLE', 'users', 'eq_ref', 'PRIMARY', 'PRIMARY', '8', 'scores.user_id', 1, 'Using where'
Run Code Online (Sandbox Code Playgroud)
有限制:它是一样的,但行搜索现在是 1806794,它需要永远。
如果有任何区别,它是一个分区的 InnoDB,所有数据都在一个分区上。
将 x 视为包含 null、0、1 的列。只有不到 1% 的行包含 1。0 和 Null 之间没有逻辑差异。
坚持在这里使用 isnull 而不是 NVL 是个好主意吗(性能)?
我需要确认一个标准的SQL 2000 数据库升级到SQL 2005 的过程。据我了解,至少有2 种升级方法。返回\恢复和分离\附加数据库。就我而言,我需要将原始 SQL 2000 数据库保持在线状态,因此我认为最好执行 Back\Restore。有人可以确认下面的过程并阐明我的问题吗?
在此先感谢您的帮助。乔治