如何从mysql查询结果中的特定列中找出值?

siv3szwd  于 2021-06-20  发布在  Mysql
关注(0)|答案(4)|浏览(314)

我有一个包含以下列的表:id、firstname、lastname、category。假设我有一些分类的数据,比如:动作,喜剧,戏剧,恐怖。我的问题是

SELECT * FROM tablename WHERE firstname LIKE '%John%'

查询将带来firstname中包含“john”的所有记录,假设这些记录的categoty值不同:action和comedy only。
如何找到包含此特定搜索的“类别”列中所有可用值的列表。
谢谢!

lrpiutwd

lrpiutwd1#

如果您想要一个不同的类别列表,其中firstname类似于john:

SELECT DISTINCT category FROM tablename WHERE firstname LIKE '%John%'
u7up0aaq

u7up0aaq2#

试试这个:

SELECT * 
FROM tablename 
WHERE firstname LIKE '%John%' 
and category='category_name'
kqlmhetl

kqlmhetl3#

SELECT category FROM tablename WHERE firstname LIKE '%John%'

看起来很简单

6ojccjat

6ojccjat4#

如果希望类别列表包含发生次数的计数:

SELECT DISTINCT CATEGORY, COUNT(*) AS Total FROM tablename WHERE firstname LIKE '%John%' GROUP BY CATEGORY ORDER BY CATEGORY

相关问题