Я использую подобные запросы (10) как следующие запросы (измененные), чтобы найти сумму
SELECT sum(amount) AS amount
FROM `students`
WHERE sex='M'
&& name in ('salil', 'anil', 'gaikwad')
... и:
SELECT sum(amount) AS amount
FROM `students`
WHERE sex='M'
&& name in ('salil1', 'anil1', 'gaikwad1')
Я хочу сделать один запрос из этих 10 запросов. возможно ли это?
Вы можете использовать UNION
SELECT 'subset1', sum(amount) AS amount FROM students WHERE sex='M' and name in ('salil', 'anil', 'gaikwad')
UNION
SELECT 'subset2', sum(amount) AS amount FROM students WHERE sex='M' and name in ('salil1', 'anil1', 'gaikwad1')
Однако вы, вероятно, запрашиваете эти наборы учеников по какой-то причине, возможно, anil, salil и gaikwad - это одна группа студентов. Если это так, вы должны отразить это в структуре базы данных, а не в своем коде.
Вы можете добавить в таблицу учеников поле "SUbset" или "Group" или что-то еще, что выглядит так:
name group_id
salil 1
anil 1
gaikwad 1
salil1 2
...
Затем вы можете сделать
select group_id, sum(amount) from students group by group_id
Попробуйте что-то вроде этого
SELECT sum(amount) AS amount
FROM students INNER JOIN
(SELECT 'salil%' Val UNION SELECT 'anil%' UNION SELECT 'gaikwad%') s ON students.NAME LIKE s.Val
WHERE sex='M'
Это позволяет использовать значения во второй таблице для соединения с LIKE.