Bloqué sur une requete / sous requete sql

jotl
Invité n'ayant pas de compte PHPfrance

27 oct. 2014, 00:55

Bonjour,

J'ai une table avec des nombres qui sortent à des dates différentes (1 nombre pour chaque date et les dates ne sont pas forcement à intervalle régulier). J'aimerais vérifier le nombre de dates différentes (et non de jour) où ce nombre n'est pas sorti. Et ceci pour tous les intervalles où mon nombre apparait dans la table.

Voila où j'en suis :
select * 
from 
(	
	select 
	date from nums 
	where chiffre=1 
	order by date desc 
	limit 2
) as f
Je récupère ceci:
date
--------------
2014-09-07
--------------
2014-07-26
En gros, j'aimerais faire cette requête dynamiquement :

select * from nums where date between "2014-07-26" and "2014-09-07"

Comment puis-je faire? Merci.

Eléphanteau du PHP | 19 Messages

28 oct. 2014, 02:15

Bonjour jotl

Pouvez-vous, s'il vous plaît, mettre la structure de vos tables afin que je puisse vous aider.
Pour les dates du between , pouvez-vous me dire à quoi elles correspondent.

A+

jotl
Invité n'ayant pas de compte PHPfrance

28 oct. 2014, 22:01

Bonjour,

Merci pour votre réponse. J'ai finalement trouvé, il me manque la dernière etape,
j'ai cette requête (enfin, c'est plutôt 1 sous requête) et j'aimerais récupérer le min, max et avg sans devoir rappeller la meme requete:
SELECT count( id )-1
FROM nums
WHERE date
BETWEEN n.date
AND coalesce( n.next_date, NOW() ) 
) AS ecart
Une solution serait de faire: (mais ca mange trop de ressource):
SELECT count( id )-1
FROM nums
WHERE date
BETWEEN n.date
AND coalesce( n.next_date, NOW() ) )
) AS ecart_moyen, min( (

SELECT count( id )-1
FROM nums
WHERE 
date
BETWEEN n.date
AND coalesce( n.next_date, NOW() ) 
)
) AS ecart_min, max( (

SELECT count( id )-1
FROM nums
WHERE date
BETWEEN n.date
AND coalesce( n.next_date, NOW() ) )
) AS ecart_max
La structure est simple:

chiffre | date