我需要选择两个空值之间的行。
我的问题是我如何获得所需的所选课程的名称和标记。我不能每次更改表,因为表中的总行数约为13000.
我认为它太多了,甚至更多我从excel文件中获取此表,每次都有一些更改(每天两次甚至更多)。你有什么看法?
例如: -
Name Marks
=================
class10 NULL
rahul 45
priti 65
terry 74
class9 NULL
Andrew 80
Nastya 75
Ajay 81
class8 NULL!
答案 0 :(得分:0)
如果您的意思是想要没有空值的记录,那么请使用 -
select * from table_name where marks is not null
答案 1 :(得分:0)
您的表格布局错误,无法满足您的需求。只有当您的表具有定义行顺序的附加索引时,才能在SQL中选择“值之间”的行。
正确的表格布局如下:
Class Name Marks
class10 rahul 45
class10 priti 65
class10 terry 74
class9 Andrew 80
class9 Nastya 75
class9 Ajay 81
...
然后你可以像这样查询class10的所有成员:
SELECT Name, Marks FROM table WHERE Class = 'class10'
更好的方法是为类创建自己的表,但我怀疑你的Excel-Import是理想的。
希望这有帮助。
编辑:然后导入带有索引的excel表,使其如下所示:
ID Name Marks
=====================
1 class10 NULL
2 rahul 45
3 priti 65
4 terry 74
5 class9 NULL
6 Andrew 80
7 Nastya 75
8 Ajay 81
9 class8 NULL!
然后你可以选择你的班级10的标记,如:
SELECT Name, Marks FROM table WHERE ID BETWEEN 2 AND 4
或者你的班级9喜欢:
SELECT Name, Marks FROM table WHERE ID BETWEEN 6 AND 8
使用像PHP这样的脚本语言,您可以在脚本中自动执行此任务。
答案 2 :(得分:-1)
“中间空值”是指没有空值的那些?
如果是这样,你可以这样做:
select * from classTable where NOT ISNULL(Marks);
编辑:
Excel工作表中的数据格式非常糟糕。类名应该是表中的另一列。
现在,如果您连续使用数据Name:Rahul, Marks:70
,则此行的任何部分都不会指示学生所在的课程。您仅依靠数据顺序来确定课程 - 此设计非常不可靠。
所以我的建议是在excel表中包含另一列,然后在MySql表中包含。