Bloqué sur une requete / sous requete sql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Bloqué sur une requete / sous requete sql

Re: Bloqué sur une requete / sous requete sql

par jotl » 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

Re: Bloqué sur une requete / sous requete sql

par DelphineNC » 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+

Bloqué sur une requete / sous requete sql

par jotl » 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.