I am 5'8, size 8-10/med. and I bought the XL.  The material is nice and thick and is 2 inches below my knee. Rides up a little when walking so the length is perfect for me. It fits way too loose at the top but otherwise it fits pretty good.  Going a size down might work but I didn't want that bootylicious look if you know what I mean.  I wore it with a blazer but eventually will have to take the straps up at the top to show off the neckline.  I like the pleats in the waist, didn't care for the long slit in the back.  I wore to work with grey pumps and white pinstripe blazer. Had several compliments before I even sat down.  It hugs the body in a nice way and the material is soft and stretchy.  I purchased for work  - a large might fit better for those looking for a sexier look with a pair of spanx.