⑴ sql语句如何查询一个表中某一列的数据
第一个:查询下拉框的选项
select a.Name,a.ID form TBMenu a where a.IsUsed=1
查询Name和ID: Name为显示文字,ID用于在选择这个选项后根据ID值进行下一步的查询
在你后台执行SQL的时候返回一个dateset 然后用combobox的datasuoce绑定,怎么绑需要自己找例子,很好的学习过程。
第二个:根据选择的菜单查询需要的信息
select * from Infomations a where a.MenuID=ID(选择下拉框选项对应的ID值)
在下拉框中选择“主食”,点击查询按钮,肯定是要查询和主食相关的数据,那就通过主食对应的ID(也就是下拉框绑定的时候查询的ID)去数据库对应的关联表中查询对应的信息。
这个地方你没有描述清楚你想实现的效果所以,根据你在上面补充的内容推测出的这些东西。
⑵ SQL 得到表的 某行某列的值(如 表的第三行第一列的值)
要查询第一列比较麻烦,如果知道第一列的列名就容易一些。
假设第一列的列名是col,并且表有主键id,那么查询第三行的第一列的值可以这么写:
select top 1 col from tablename where id not in (select top 2 id from tablename)
⑶ SQL分组查询取第一条数据
我们在查询数据时,经常会使用distinct去重,但使用distinct只能去除所有查询列都相同的记录,如果所查询列中有一个字段值不同,distinct是无法去重的。但我们还想要实现这样的效果,这时我们可以用partition by。
1.例如,我们新建一张学生成绩表。
2.插入一些测试数据。
3.例如我们需要查询每个科目不同的分数,这时候可以用到distinct:
4.但是我们把需求再加一点,需要查询每个科目排名第一的学生信息,这时候就需要用到partition by:
PS:MySQL5.6不支持partition by
此时我们发现,并且第一的小明同学的英语成绩没有被查询出来,接着优化:
⑷ sql server查询表的第一个字段/第一列
可以使用如下语句获得表的第一个字段的名称
select column_name from information_schema.columns
where table_name='pay' and ordinal_position=1
修改ordinal_position的值,可以获取各个字段的名称