Requête SQL pour Annuaire Freeglobes

Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics

Nova 2000
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 11
Enregistré le: 7 Jan 2012

Requête SQL pour Annuaire Freeglobes

Message le Dim Jan 08, 2012 20:38

Bonsoir,

Je suis en train de procéder au nettoyage de mon annuaire (liens morts, fautes d'orthographes...ect).
Pour çà j'utilise des requêtes SQL pour trouver les problèmes :

Par exemple, pour trouver un site inscrit plus d'une fois, je fais cette requête :

Code: Tout sélectionner
SELECT `url`, COUNT( * )
FROM `t5ri_link`
GROUP BY `url`
HAVING COUNT( * ) >1

C'est très efficace !

Pour poursuivre j'aimerais faire une requête qui détecte les descriptions ou titre (de sites) ne commençant pas par une majuscule... mais je n'arrive pas à trouver la bonne syntaxe.

De même j'aimerais faire une requête qui détecte les descriptions ou titre (de sites) trop court (une requête qui compte les caractère en fait), là aussi je ne trouve pas.

Une bonne âme pourrait-elle me donner des pistes ?

Merci d'avance

Nova 2000 : http://www.nova-2000.fr

Nova 2000
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 11
Enregistré le: 7 Jan 2012

Re: Requête SQL pour Annuaire Freeglobes

Message le Lun Jan 09, 2012 11:49

Bonjour
Personne pour me renseigner ?

lawlaw57
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 33
Enregistré le: 14 Oct 2011

Re: Requête SQL pour Annuaire Freeglobes

Message le Dim Jan 15, 2012 10:06

pour les descriptions trop courte :

Code: Tout sélectionner
SELECT * FROM matable WHERE LENGTH(DESCRIPTION) <= 10 (10 caractères à toi d'adapter)


pour les truc qui commence pas par une majuscule seulement :

Code: Tout sélectionner
SELECT * FROM matable WHERE LEFT(Descriptiopn, 1) = UPCASE(LEFT(Description, 1))


LEFT(Description, 1) première lettre de description
donc vérifie si la premiere lettre de "description" est égale à la première de description en uppercase

Sinon pour les strings sous MySQL:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_ ... ring-index

Amuse toi bien

Nova 2000
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 11
Enregistré le: 7 Jan 2012

Re: Requête SQL pour Annuaire Freeglobes

Message le Dim Jan 15, 2012 20:57

Bonsoir,
Merci pour les réponses, c'est sympas !
Voici mes essais :
(on suppose que les noms de Table et de champs sont les mêmes pour ceux qui utilise le script Freeglobes.)
pour les descriptions trop courte :
Code: Tout sélectionner
SELECT *
FROM `t5ri_link`
WHERE LENGTH( description ) <=100
LIMIT 0 , 30

C'est OK !

pour les truc qui commence pas par une majuscule seulement :
Code: Tout sélectionner
SELECT * FROM `t5ri_link` WHERE LEFT(Description, 1) = UPCASE(LEFT(Description, 1))

Ici on me signale une erreur :
"FUNCTION UPCASE does not exist"

Entre temps j'ai trouvé ceci :
Pour trouver un texte commence par un majuscule ou une minuscule on écrit "^a" ou "^A"

Code: Tout sélectionner
SELECT *
FROM `t5ri_link`
WHERE `name`
REGEXP BINARY "^a"
LIMIT 0 , 30


Pour trouver un texte avec un nombre de caractères précis (6 par exemple).

Code: Tout sélectionner
SELECT *
FROM `t5ri_link`
WHERE `name`
REGEXP "^.{6}$"
LIMIT 0 , 30


Voilà j'ai du mal avec une requête, je continu mes recherches de requêtes pour le script Freeglobes, c'est idéal pour améliorer la qualité d'un annuaire

A bientôt

lawlaw57
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 33
Enregistré le: 14 Oct 2011

Re: Requête SQL pour Annuaire Freeglobes

Message le Lun Jan 16, 2012 19:50

Ce n'est pas UPCASE c'est UPPER(). Regarde la documentation officiele de MySQL (le lien que j'ai balancé)


zeb
WRInaute accro
WRInaute accro
 
Messages: 13572
Enregistré le: 5 Déc 2004

Re: Requête SQL pour Annuaire Freeglobes

Message le Lun Jan 16, 2012 21:07

Nova 2000 a écrit:Pour trouver un texte avec un nombre de caractères précis (6 par exemple).

Code: Tout sélectionner
SELECT *
FROM `t5ri_link`
WHERE `name`
REGEXP "^.{6}$"
LIMIT 0 , 30


"REGEXP '^.{6}$'" c'est ultra gourmand en ressource si ta table est grosse c'est pas une super idée :
LENGTH() Return the length of a string in bytes

-> SELECT * FROM `t5ri_link` WHERE LENGTH(`name`) = 6 est déjà plus soft.


Formation recommandée sur ce thème :

Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :