begin process at 2010 02 10 00:29:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

Faire des blocs de ligne


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Faire des blocs de ligne

lundi 18 septembre 2006 à 12:19:19 | Faire des blocs de ligne

ehmarc

Salut,

Voila j'ai encor un soucis....

Je doit faire des group de 15000 ligne de donnée (ma table à 90 000 lignes)
Sous SQL server c'est pas top (à cause du top justement...)

Bon le but est simple toutes les 15000 ligne, jedoit ramener la somme d'un champ !

Bon plusieurs solution m'ont sauté à l'esprit :
- 1 rajouté un champ de comptage qui s'incrémente toutes les 15000 lignes (ce qui me permet ensuite de faire un group by sur ce champ avec le sum)
j'ai tenté de faire un update mais je sais pas récupérer le "max" de mon champ pour l'incrémenter

update PS_MM_LIGNE set COMPTEUR = MAX(COMPTEUR)+1 select top 15000 DD_AMT_BASE from PS_MM_LIGNE where COMPTEUR = 0

- 2 un select magique, mais j'ai pas trouvé
- 3 en dur dans mon code (mais il faut que je recalcul tout les trucs bref galere)

++

"Aucun de nous ne sait ce que nous savons tous, ensemble." Lao Tseu inventeur du "copier coller" [8D]
lundi 18 septembre 2006 à 15:20:27 | Re : Faire des blocs de ligne

ehmarc

Bon je m'auto répond (à prioris sa passe mais j'ai pas les droits sous l'analyseur de requete donc faut que je teste dans mon prog)

 
 UPDATE MM_LIGNE
  SET COUNTER = (
 SELECT MAX(COUNTER)+1
  FROM MM_LIGNE
  GROUP BY COUNTER
  HAVING COUNT(*)=15000)
 SELECT top 15000 COUNTER
  FROM MM_LIGNE
 WHERE COUNTER = 0

++

"Aucun de nous ne sait ce que nous savons tous, ensemble." Lao Tseu inventeur du "copier coller" [8D]
vendredi 22 septembre 2006 à 19:59:55 | Re : Faire des blocs de ligne

skweeky

Membre Club Administrateur CodeS-SourceS
C'est en 2000 ou 2005 ?

Si c'est du 2005 regarde vers les PARTITION BY il y une fonction NTILE qui pourrait bien te servir, ou l'une des autres...

Si j'ai bien compris tu veux faire des totaux tous les 15000 enregistrements  ? Avec une condition sur le group by ou pas, c'est à dire des sous-totaux par rappoprt à un ensemble de champs ?

Si c'est le cas tu as ROLLUP qui peut être utilisé après un GROUP BY


Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
mercredi 27 septembre 2006 à 23:32:20 | Re : Faire des blocs de ligne

ehmarc

en fait j'ai utilisé deux requete (un voyage m'as empeche de repondre plus tot j'ai bien le droit a des vacances aussi)
un select pour voir si il reste minimum une ligne

et ensuite je fait :
SET ROWCOUNT 15000
mon update
SET ROWCOUNT 0

++

"Aucun de nous ne sait ce que nous savons tous, ensemble." Lao Tseu inventeur du "copier coller" [8D]


Cette discussion est classée dans : ligne, compteur, champ, top, blocs


Répondre à ce message

Sujets en rapport avec ce message

champ numero de trie [ par midosd ] Salut , Tout le monde j'ai une table dans la BD nommer Facture a plusieurs champs : id : identificateur est autoincriment date : date de la facture Selectionné les champs qui commence par contenu d'un autre champ. [ par kornetmuse ] Bonjour,J'ai une table PrefixeWarrantsPref Comparer deux champs alpha [ par Nurgle69 ] Bonjour à tous,Une petite question de newbie :  j'ai deux champ de codes dans ma table C1 et C2.Je voudrais vérifier que C2 est bien de la forme xxxC1 requète update [ par pascb423 ] Bonjour,j'ai 3 tables; products avec le champ products_price, luniversdiscount avec le champ titre et products_description avec le champ products_name Obtenir l'IP du client en mysql [ par Xantra ] Bonjour,Je voudrai créer un champ 'ip', qui serai automatiquement remplit avec l'ip du client qui insert une donné dans la table.Par exemple si je veu duplication des lignes d'une table en fonction d'une valeur [ par ple2415 ] Bonjour à tous,je souhaiterais dupliquer les lignes d'une table en fonction de la valeur contenue dans un des champs de cette table.exemple d'une lign probleme d'extraction de ligne d'une requete [ par foufidou ] Bonjour tout le monde,J'ai cette requete par exemple :  SELECT designation, prix, quantite, valeurFROM transactionWHERE code_c Probleme sur une requete qui ne fonctionne pas [ par tralala232 ] bonjour je sollicite votre aide car je ne comprend pourquoi ma requete ne fonctionne pas j'ai 2 table Table1 - nom = "Campagne" 2 champs - 1) "Refc comment remplir champ vide par 0 [ par 11882207 ] Bonjour, toujours novice et décidé à ne pas le rester, je souhaiterai savoir comment "remplir" une table dont la majorité des champs sont vides par 0 Comparaison/calcul ligne par ligne dans une même colonne d'une même table [ par nordine001 ] [size=100] Bonjour, Afin de savoir si un service fonctionne, chaque action est enregistrée dans une table. Cette dernière n'a pas d'id autoincrémenté


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales