我有一个数据库。这些数据库有两个表。
一张table是music
。
名称|日期|版本|Song_ID|Singer_ID
-|
LA|01.05.2009|1|1|1
秒|13.07.2009|1|2|2
墨西哥|13.07.2009|1|3|1
出发|13.09.2009|1|4|3
Hello|18.09.2009|1|5|(4,5)
不要放弃|12.02.2010|2|6|(5,6)
ZIC Zac|2010年3月18日|2|7|7
Blablabla|14.04.2010|2|8|2
哇啦啦|14.05.2011|3|9|4
食物优先|14.05.2011|3|10|5
|La Vie Est.17.06.2011|3|11|8
Jajajajaja|13.07.2011|3|12|9
和另一个名为singer
的表
Singer|国籍|Singer_ID
-|-|
JT Watson|美国|1
Rafinha|巴西|2
Juan Casa|西班牙|3
Kidi|美国|4
Dede|美国|5
Briana|美国|6
Jay Ado|英国|7
Dani|澳大利亚|8
Mike Rich|美国|9
现在我想知道有多少首歌。我给了那个代码,但上面写着无效的系统税??
SELECT DISTINCT Song_ID FROM music
无效语法接近DISTINCT
我创建了这样的数据库,也许这就是它出错的原因:
import sqlite3
conn = sqlite3.connect('musicten.db')
c = conn.cursor()
c.execute('''
CREATE TABLE IF NOT EXISTS singer
([Singer_ID] INTEGER PRIMARY KEY, [Singer] TEXT, [nationality] TEXT)
''')
c.execute('''
CREATE TABLE IF NOT EXISTS music
([SONG_ID] INTEGER PRIMARY KEY, [SINGER_ID] INTEGER SECONDARY KEY, [name] TEXT, [Date] DATE, [EDITION] INTEGER)
''')
conn.commit()
import sqlite3
conn = sqlite3.connect('musicten.db')
c = conn.cursor()
c.execute('''
INSERT INTO singer (Singer_ID, Singer,nationality)
VALUES
(1,'JT Watson',' USA'),
(2,'Rafinha','Brazil'),
(3,'Juan Casa','Spain'),
(4,'Kidi','USA'),
(5,'Dede','USA')
''')
c.execute('''
INSERT INTO music (Song_ID,Singer_ID, name, Date,Edition)
VALUES
(1,1,'LA',01/05/2009,1),
(2,2,'Second',13/07/2009,1),
(3,1,'Mexico',13/07/2009,1),
(4,3,'Let"s go',13/09/2009,1),
(5,(4,5),'Hello',18/09/2009,1)
''')
但我不这么认为,因为这很管用。我不会做SQL代码
2条答案
按热度按时间atmip9wb1#
是否要在此处执行计数查询:
假设每个
Song_ID
在music
表中都是唯一的,您甚至不需要不同的计数;常规计数也可以:fsi0uk1n2#
我也会尝试从音乐中选择不同的计数(Song_ID);