MySQL возвращает одну строку из нескольких счетов, подлежащих уведомлению

#php #mysql #sql

#php #mysql #sql

Вопрос:

Пытаюсь создать уведомление по электронной почте для моих клиентов, которым должны быть выставлены счета.

Вот моя таблица

 Name     Amount  Duedate
Joe@blah 10.00 2011-04-13
Joe@blah 15.00 2011-04-13
Jill@ugg 20.00 2011-05-20
Jim@yuck 25.00 2011-04-13
Joe@blah 15.00 2011-05-20
  

Поскольку Джо присутствует там дважды, как мне подавить второго джо, чтобы я не уведомлял его дважды. Я бы хотел, чтобы он возвращал только:

 Joe@blah
Jim@yuck
  

Как мне это сделать в mysql?

Спасибо

Ответ №1:

 SELECT DISTINCTROW Name FROM Table WHERE DueDate (<=> meets your criteria of when it's "due")
  

Поскольку вы выбираете только по имени, DISTINCTROW вернет только один экземпляр каждого имени.

Ответ №2:

 SELECT DISTINCT Name FROM your_table WHERE Duedate < NOW()
  

ВЫБЕРИТЕ синтаксис, посмотрите на DISTINCT раздел

Ответ №3:

Этот запрос должен выдать вам уникальные имена с датой оплаты, приходящейся на прошлое или сегодняшнее время.

 Select 
B.*
From
Invoicetable A,
(SELECT DISTINCT Name FROM Invoicetable WHERE Duedate <= NOW) B
where
A.Name = B.Name